草庐IT

C++ Boost.ASIO async_read_until 慢

全部标签

c++ - boost::core::demangle 在 vi​​sual studio typeid().name 上

我试图在Windows(visualstudio2010)上获取一个报告类类型的字符串,但没有任何成功。由于UnDecorateName不起作用,我正在使用boost库。#include#includeclassMyObject{};intmain(intargc,char**argv){MyObjecto;constchar*str=typeid(o).name();//str="classMyObject"std::stringdstr=boost::core::demangle(str);//dstr="classMyObject"return0;}我怎样才能从上面的代码中只得到

windows - 运行时错误 : Cannot read property 'push' of undefined

我收到无法读取ionic2中未定义属性'push'的错误addReview(){letmodal=this.modalCtrl.create(AddReviewPage);modal.onDidDismiss(review=>{if(review){this.reviews.push(review);this.reviewService.createReview(review);}}); 最佳答案 您只需声明并初始化您的reviews数组,如下所示。exportclassYourPage{reviews:any=[];//herei

Windows "known folders": is there any one of them which is reliably read/write for all users on all versions?

SHGetKnownFolderPath()及其队列接受定义的常量之一here,返回目录的路径。我正在寻找这些文件夹中的一个,它可以被XP、Vista和Windows7上的所有用户(包括LocalSystem)可靠地写入...但我想我被淘汰了。看起来,事实上,硬盘驱动器上不再有单一位置可以放置文件并确保所有用户都可以在所有这些操作系统版本上写入它,而无需先修改权限。这是真的吗? 最佳答案 你是对的;没有这样的文件夹。您需要自己创建一个。 关于Windows"knownfolders":i

windows - Boost + Visual Studio 2010 + Windows 平台 SDK 7.1

有人能告诉我bjam的命令行开关或其他可以使VS2010使用新的Windows平台SDK7.1工具链进行boost编译的命令吗?这是您可以在普通的visualstudio项目中设置的选项。默认值为v100,它是平台7.0工具链的变体。提前致谢。 最佳答案 在你的环境中试试这个setSdkTools=c:\ProgramFiles\MicrosoftSDKs\Windows\v7.1\Bincall"%SdkTools%\SetEnv.Cmd"/xp/x86假设这是您安装了WindowsSDK的位置。信息来自here-可能还有更多工作

windows - 具有部分对象(CreateFileMapping)的 I/O 是否比基本 api(Read/WriteFile)更快?

CreateFileMapping和MapViewOfFile,然后我们使用类似memcpy的函数进行I/O。只需使用读/写文件。第一个比第二个快吗?我不明白。为什么更快?如果我们使用节对象,那么我们可以从VMM或缓存​​管理器中获得更多的缓存优势吗? 最佳答案 发生页面调出时,文件内存映射速度更快,因为文件本身用作分页存储。如果内存映射文件中的内存未更改,则无需将页面刷新到页面文件,因为数据已经在文件中,Windows可以从磁盘重新读取页面。.EXE和.DLL文件使用此机制加载,因此是它们自己的页面存储。如果内存映射文件中的内存被

c++ - CoInitializeEx 用于 boost::test::unit_test

前几天,我决定需要了解Windows平台上C++的测试驱动开发(使用VisualStudio2010Premium)。在决定试用boost的单元测试框架之前,我环顾四周。我应该说我选择了boostpro.com的版本(如果我没记错的话,当前版本是1.44)。这有一个静态库的构建,所以我不在我的测试中使用DLL。Boost的单元测试文档谈到将代码与测试套件分开,这似乎很合理。但随后您必须处理从现在独立的测试套件项目中引用代码的问题。所以我有一个要测试的库项目(但我仍然不确定如何编写可以引用.exe项目的测试...)所以我在我的解决方案中创建了一个单独的项目,称为单元测试。我添加了以下代码

windows - 为什么 boost::filesystem is_directory 在作为 Windows 服务运行时返回不同的结果?

我有一些代码可以遍历目录中的文件并对非目录文件执行有用的操作,如下所示:namespacebfs=boost::filesystem;for(bfs::directory_iteratoriterDir(m_inPath);bContinue&&iterDir!=bfs::directory_iterator();iterDir++){std::stringfilename=iterDir->path().filename().string();boost::to_lower(filename);if(!bfs::is_directory(*iterDir)&&Condition2(f

windows - 在 Windows 7 上构建 Boost 1.49

我正在尝试在Windows上构建Boost。我用了this例子。因此,在执行'bjamtoolset=gcc'后,我收到以下错误:**C:/boost/tools/build/v2/tools\gcc.jam:129:ingcc.initfrommodulegccerror:toolsetgccinitialization:error:nocommandprovided,defaultcommand'g++'notfounderror:initializedfromC:/boost/tools/build/v2/build\toolset.jam:38:intoolset.usingf

c++ - 如何打开只有 FILE_READ_ATTRIBUTES 权限的文件?

我想从非管理员程序发出FSCTL_GET_NTFS_VOLUME_DATA控制代码。该文档说“打开卷时,FILE_READ_ATTRIBUTES或FILE_WRITE_ATTRIBUTES访问权限就足够了”,所以我相信这应该是可能的。我尝试了路径和卷路径:"\.\C:""\?\Volume{4f26a671-c36e-11e2-913d-806e6f6e6963}"虽然我可以打开它们,但对DeviceIOControl的调用将仅适用于GENERIC_READ|GENERIC_WRITE。这是代码:intmain(){char*mount="\\\\.\\C:";HANDLEhHandl

c++ - 如何为代码块 13.12 编译 boost 1.55.0 到 win7(32 位)?

我已经研究了几个小时了,但在任何地方都找不到直接的答案。将boostzip内容解压到目录(放在C:\ProgramFiles\boost_1_55_0中)后,我启动命令提示符并尝试按照指示编译批处理(bootsrap.bat)。失败。消息返回:构建Boost.Build引擎'cl'不是内部或外部命令,也不是可运行的程序或批处理文件。无法构建Boost.Build引擎。请查阅bootstrap.log以进行进一步诊断。bootstrap.log显示:######Using'msvc'toolset.###C:\ProgramFiles\boost_1_55_0\tools\build\v